#pragma once
#include <string>
#include <vector>
#include <map>
#include <variant>
#include <optional>

// 前置声明 C API
extern "C" {
#include <neo4j-client.h>
}

struct QueryResult {
    std::vector<std::string> columns;
    std::vector<std::vector<std::string>> rows; // 将每个字段转成字符串展示
    std::optional<struct neo4j_update_counts> updates; 
};

using Param = std::variant<std::nullptr_t, bool, int64_t, double, std::string>;
using ParamMap = std::map<std::string, Param>;